package com.trip.vo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.trip.config.LocalDateJsonDeserializer;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.Set;

public class TripPlanRequest {
    @NotEmpty
    private String groupName;
    private String coverId;
    @ApiModelProperty(notes = "yyyy-MM-dd")
    @NotNull
    @JsonDeserialize(using = LocalDateJsonDeserializer.class)
    private LocalDate travelDate;
    @NotNull
    private Integer travelDays;

    private Set<Integer> userIds;

    @ApiModelProperty(hidden = true)
    private Integer createdBy;

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getCoverId() {
        return coverId;
    }

    public void setCoverId(String coverId) {
        this.coverId = coverId;
    }

    public LocalDate getTravelDate() {
        return travelDate;
    }

    public void setTravelDate(LocalDate travelDate) {
        this.travelDate = travelDate;
    }

    public Integer getTravelDays() {
        return travelDays;
    }

    public void setTravelDays(Integer travelDays) {
        this.travelDays = travelDays;
    }

    public Integer getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(Integer createdBy) {
        this.createdBy = createdBy;
    }

    public Set<Integer> getUserIds() {
        return userIds;
    }

    public void setUserIds(Set<Integer> userIds) {
        this.userIds = userIds;
    }
}